package com.cskaoyan.wordmemorize.dao.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.cskaoyan.wordmemorize.dao.entity.*;
import com.cskaoyan.wordmemorize.dto.app.DisplayUserVocBoundLogDTO;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface UserMapper extends BaseMapper<UserDO> {
    static void updateById() {
    }

    UserDO getUserInfo(@Param("userId") Long userId);

    Integer getTotalVocBoundById(Long userId);

    Integer getPayVocBound(Long userId);

    Integer getFreeTotalVocBoundById(Long userId);

    UserVocBoundStatisticsDO getUserVocBoundStatistics(Long userId);

    List<DisplayUserVocBoundLogDTO> userVocBoundLogPage2DisplayDTOs(Page<DisplayUserVocBoundLogDTO> page, Long userId);
    Integer getUserNextDTOSignType(Long userId);

    Integer getMaxContinuousDay(Long userId);

    Integer getNextLevelNeedDays(Integer levelValue);

    UserRemindDO getUserRemind(Long userId);

    void updateUserRemindByUserId(UserRemindDO userRemindDO);

    void updateVocCountOfDay(@Param("userId")Long userId,  @Param("count") Integer count);

}
